package com.zyl.pts.service;

import com.github.pagehelper.PageInfo;
import com.zyl.pts.config.enums.CodeAndMessageEnum;
import com.zyl.pts.domain.bean.Disease;
import com.zyl.pts.domain.dto.DRDTO.DRUpdateOrAddDTO;
import com.zyl.pts.domain.vo.DRVO.DRPageVO;

import java.util.List;

/**
 * @version v1.0
 * @ProjectName: product_source
 * @Package: com.zyl.pts.service
 * @ClassName: DRService
 * @Description TODO()
 * @Author 翟玉龙
 * @Date 2024/11/19-20:16
 */
public interface DRService {

    /**
     * 查询所有病症记录信息
     * @return {@link List }<{@link Disease }>
     */
    List<Disease> queryAllDiseaseRecord();

    /**
     * 分页多条件查询病症记录
     * @param drDId 病症id
     * @param drStatus 病症状态
     * @param pageNum 当前页
     * @param pageSize 每页大小
     * @return {@link PageInfo }<{@link DRPageVO }>
     */
    PageInfo<DRPageVO> queryDRPage(Integer drDId, String drStatus, Integer pageNum, Integer pageSize);

    /**
     * 新增或更新病症记录
     * @param diseaseRecord 病症记录
     * @return {@link CodeAndMessageEnum }
     */
    CodeAndMessageEnum addOrUpdateDR(DRUpdateOrAddDTO diseaseRecord);

    /**
     * 根据id删除病症记录
     * @param id 病症记录id
     * @return {@link CodeAndMessageEnum }
     */
    CodeAndMessageEnum deleteById(Integer id);

    /**
     * 根据id列表批量删除病症记录
     * @param ids 病症记录id列表
     * @return {@link CodeAndMessageEnum }
     */
    CodeAndMessageEnum deleteByIds(List<Integer> ids);
}
